package com.power.sifa.std.service;

import org.springframework.data.domain.Page;
import com.power.sifa.std.model.Std_admunit;
import com.power.sifa.std.model.pageInfo.Std_admunitPageInfo;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 *  行政管理单位业务层
 */
public interface Std_admunitService {

    /**
     *  根据id获取行政管理单位对象
     */
    Std_admunit getById(Serializable id);

    /**
     *  根据传入行政管理单位对象进行新增或更新操作
     */
    void saveOrUpdate(Std_admunit std_admunit);

    /**
     *  根据id删除行政管理单位
     */
    void removeById(Serializable id);

    /**
     *  根据传入条件查询行政管理单位分页结果
     */
    Page<Std_admunit> findAll(Std_admunitPageInfo pageInfo);

    /**
     * 查询全部行政管理单位
     */
    List<Std_admunit> findAll();

     /**
     *  根据id批量删除行政管理单位
     */
    void removeByIds(List<Integer> list);

     /**
     *  批量保存行政管理单位
     */
    void saveAll(List<Std_admunit> list);

    /**
     * 通过名字匹配对应的组织机构
     * @param unitName
     * @return
     */
    Std_admunit getUnitByParams(String unitName, String adid);

    /**
     * 通过adid来查询对应的组织机构
     * @param adids
     * @return
     */
    List<Std_admunit> getUnitByAdids (List<String> adids);

    /**
     * 通过ids来查询对应的组织机构
     * @param ids
     * @return
     */
    List<Std_admunit> getUnitByIds (List<String> ids);


    /**
     * 查询被申请人类型树
     * @return
     */
    List<Map<String, Object>> tree();
}
